<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>整数拆分</title>
</head>
<body>
  <script>
    function fn(n) {
      let dp = new Array(n + 1);
      dp[1] = 1;
      dp[2] = 1;
      for (let i = 3; i <= n; i++) {
        dp[i] = 0;
        // 对于数字 i，它可以分为两份：j 和 i-j，j 的范围是 1 到 i-j
        for (let j = 1; j <= i - j; j++) {
          // 对于 i-j 这部分可以拆或不拆，不拆就是 i-j，拆就是 dp[i-j]
          dp[i] = Math.max(dp[i], j * (i - j), j * dp[i - j]);
        }
      }
      return dp[n]
    }
    console.log(fn(2))
  </script>
</body>
</html>